home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS069.dsk / FOOTBALL PREDICTIONS.bas < prev    next >
BASIC Source File  |  2012-02-16  |  9KB  |  297 lines

  1. 1  DATA  8.17
  2. 2  DATA  12.46
  3. 3  DATA  10.8
  4. 4  DATA  10.73
  5. 5  DATA  9.99
  6. 6  DATA  11.83
  7. 7  DATA  10.06
  8. 8  DATA  8.64
  9. 9  DATA  8.61
  10. 10  DATA  10.02
  11. 11  DATA  9.72
  12. 12  DATA  10.27
  13. 13  DATA  9.96
  14. 14  DATA  13.38
  15. 15  DATA  9.04
  16. 16  DATA  13.24
  17. 17  DATA  11.11
  18. 18  DATA  9.08
  19. 19  DATA  11.98
  20. 20  DATA  9.3
  21. 21  DATA  8.74
  22. 22  DATA  7.37
  23. 23  DATA  8.21
  24. 24  DATA  11.45
  25. 25  DATA  9.38
  26. 26  DATA  10.61
  27. 27  DATA  8.92
  28. 28  DATA  6.98
  29. 100  REM  NFL PREDICTION PROGRAM
  30. 110  REM      BY DON SMITH
  31. 120  REM  PUT MATCHUPS INTO ARRAY M
  32. 130  DIM D(28),M(28,16),E(28),Y(28),G(28)
  33. 140  DATA  -12,24,-8,-6,4,-5,7,-4,2,9,-3,-2,3,-5,12,-15
  34. 150  DATA  6,5,-9,14,-21,22,-20,3,-1,-4,-11,1,4,-3,-5,23
  35. 160  DATA  -4,13,-23,20,-5,-10,4,-2,21,7,1,-8,-1,2,-22,5
  36. 170  DATA  3,9,-14,5,-1,20,-3,1,-22,2,-5,21,-2,11,-23,-6
  37. 180  DATA  8,-2,22,-4,3,-1,23,10,-7,-21,4,-20,-13,1,2,-3
  38. 190  DATA  -2,7,-18,1,-17,-8,-9,11,16,19,-12,-14,8,9,-7,4
  39. 200  DATA  -19,-6,12,-9,8,18,-1,-13,5,-3,10,-9,-16,-8,6,17
  40. 210  DATA  -5,-12,1,16,-7, 6,19,9,-18,-17,13,3,-6,7,-10,-9  
  41. 220  DATA  -11,-4,2,7,-16,12,6,-8,17,-1,14,-7,18,-6,-19,8
  42. 230  DATA  -27,-14,-13,-12,11,3,25,-5,14,28,-7,12,-11,-26,8,13
  43. 240  DATA  9,27,-25,13,-10,14,-12,-6,12,26,2,-28,10,-4,-13,-14
  44. 250  DATA  1,8,-7,10,-13,-9,11,15,-11,14,6,-10,-14,13,-1,-24
  45. 260  DATA  14,-3,10,-11,12,-28,-14,7,-25,27,-8,26,5,-12,11,-10
  46. 270  DATA  -13,10,4,-2,28,-11,13,-27,-10,-12,19,6,12,25,-26,11
  47. 280  DATA  -17,18,-19,17,-26,24,28,-12,-27,16,25,-24,19,-16,-18,1
  48. 290  DATA  -18,-28,20,-8,9,-23,27,18,-6,-15,17,-19,7,15,-17,19
  49. 300  DATA  15,25,-26,-15,6,-19,-18,19,-9,8,-16,18,-21,22,16,-7
  50. 310  DATA  16,-15,6,19,-27,-7,17,-16,8,23,-19,-17,-9,28,15,-20
  51. 320  DATA  7,-22,15,-18,-25,17,-8,-17,26,-6,18,16,-15,21,9,-16
  52. 330  DATA  21,23,-16,-3,24,-4,2,-23,-28,22,27,5,-22,-24,-21,18
  53. 340  DATA  -20,26,24,-23,2,-25,22,-24,-3,5,23,-4,17,-19,20,-22
  54. 350  DATA  -24,19,-5,25,23,-2,-21,-26,4,-20,24,-23,20,-17,3,21
  55. 360  DATA  28,-20,3,21,-22,16,-5,20,24,-18,-21,22,-24,-27,4,-2
  56. 370  DATA  22,-1,-21,27,-20,-15,26,21,-23,-25,-22,15,23,20,-28,12
  57. 380  DATA   -26,-17,11,-22,19,21,-10,-28,13,24,-15,-27,26,-14,27,28 
  58. 390  DATA  25,-21,17,-28,15,27,-24,22,-19,-11,28,-13,-25,10,14,-27
  59. 400  DATA  10,-11,28,-24,18,-26,-16,14,15,-13,-20,25,-28,23,-25,26
  60. 410  DATA  -23,16,-27,26,-14,13,-15,25,20,-10,-26,11,27,-18,24,-25
  61. 411  TEXT : HOME : VTAB 11: PRINT "========================================": INVERSE : PRINT "    << N F L  PREDICTION PROGRAM >>     ": NORMAL : PRINT "========================================"
  62. 412  RESTORE 
  63. 413  FOR A = 1 TO 28: READ Y(A): NEXT A
  64. 415  FOR A = 1 TO 28: FOR B = 1 TO 16
  65. 420  READ M(A,B)
  66. 425  NEXT B,A
  67. 430  REM  SET HOME ADVANTAGE,
  68. 432  REM  ADJUSTMENT FACTOR,
  69. 434  REM  AND MAX. POINT SPREAD
  70. 440  DATA     1.55,0.05,20 
  71. 450  READ F1,H,N2
  72. 460 P = 100
  73. 470  HOME : VTAB 12: PRINT "WEEK NUMBER";: INPUT I
  74. 480 A2 = 1979
  75. 482  IF I >1  THEN 490
  76. 485  FOR A = 1 TO 28:E(A) = Y(A): NEXT A
  77. 488  GOTO 630
  78. 490  HOME : VTAB 12
  79. 500  PRINT "INSERT DATA TAPE"
  80. 510  PRINT "START IN PLAY MODE"
  81. 520  PRINT "THEN PRESS RETURN";: GET ST$
  82. 530  RECALL E
  83. 630  FOR A = 1 TO 28:D(A) =  -9999: NEXT A
  84. 640  REM  COMPUTE HOME ADVANTAGE
  85. 650  FOR K1 = 1 TO 28
  86. 660 F = 0
  87. 670  IF M(K1,I) <0  THEN 690
  88. 680 F = F1
  89. 690 G(K1) = E(K1) +F
  90. 700  NEXT K1
  91. 710  REM  READ IN ACTUAL RESULTS FOR LATEST WEEK
  92. 715  TEXT : HOME 
  93. 720  PRINT "ENTER POINT SPREAD FOR:"
  94. 725  PRINT "======================="
  95. 730  POKE 34,3
  96. 740  FOR K1 = 1 TO 28
  97. 745  IF D(K1) < > -9999  THEN 900
  98. 750  HOME 
  99. 760 Z1 = K1
  100. 765  GOSUB 1740
  101. 770  INPUT D(K1)
  102. 780 K =  ABS(M(K1,I))
  103. 785 M1 = D(K1)
  104. 790  IF D(K1) < -N2  THEN M1 =  -N2
  105. 795  IF D(K1) >N2  THEN M1 = N2
  106. 800 D(K) =  -D(K1)
  107. 810 A1 = G(K1) -G(K)
  108. 820 Y(K1) = A1
  109. 830 Y(K) =  -A1
  110. 840  REM  COUNT CORRECT                  PREDICTIONS
  111. 850  IF  SGN(D(K1)) < > SGN(A1)  THEN 880
  112. 860 SC = SC +1
  113. 870  REM  ADJUST RATINGS
  114. 880 E(K1) = E(K1) +H *(M1 -A1)
  115. 890 E(K) = E(K) +H *(A1 -M1)
  116. 900  NEXT K1
  117. 910  REM  PRINT RESULTS
  118. 920  TEXT : HOME 
  119. 930  INVERSE : PRINT "    << RESULTS FOR WEEK ";I;"  ";A2;" >>    ": NORMAL 
  120. 940  PRINT "========================================"
  121. 945  PRINT "                              PRED  ACT"
  122. 948  POKE 34,5
  123. 950  FOR J = 1 TO 28
  124. 955  IF Y(J) = 1000  THEN 1090
  125. 960 M1 = J
  126. 970 K =  ABS(M(J,I))
  127. 980  IF M(J,I) <0  THEN 1010
  128. 990 M1 = K
  129. 1000 K = J
  130. 1010 Z1 = M1
  131. 1020  GOSUB 1740
  132. 1030  PRINT " AT ";
  133. 1040 Z1 = K
  134. 1050  GOSUB 1740
  135. 1055 Y(M1) =  INT(Y(M1) *P +.5)/P
  136. 1060 XX = 31: IF Y(M1) =  >10  THEN XX = XX -1
  137. 1061  IF Y(M1) <1  AND Y(M1) >0  THEN XX = XX +1
  138. 1062  IF Y(M1) < =  -1  THEN XX = XX -1
  139. 1063  IF Y(M1) < =  -10  THEN XX = XX -1
  140. 1064  HTAB XX: PRINT Y(M1);
  141. 1065 XX = 39
  142. 1066  IF D(M1) =  >10  THEN XX = XX -1
  143. 1067  IF D(M1) <0  THEN XX = XX -1
  144. 1068  IF D(M1) < -9  THEN XX = XX -1
  145. 1069  HTAB XX: PRINT D(M1)
  146. 1070 Y(M1) = 1000
  147. 1080 Y(K) = 1000
  148. 1090  NEXT J
  149. 1095 SC =  INT(SC *100/14)
  150. 1100  PRINT : PRINT SC;
  151. 1110  PRINT "  % CORRECT FOR WEEK ";I
  152. 1120  VTAB 24: PRINT "  << PRESS THE SPACE BAR TO CONTINUE >>";
  153. 1125 X =  PEEK( -16384): IF X <127  THEN 1125
  154. 1130  POKE  -16368,0
  155. 1140  REM  PRINT NEW RATINGS
  156. 1144 Q = I
  157. 1145  TEXT : HOME 
  158. 1150  INVERSE : HTAB 3: PRINT " << RATINGS AFTER WEEK ";Q;" - ";A2;" >> ": NORMAL 
  159. 1155  PRINT "========================================"
  160. 1160  PRINT "TEAM         RATING  TEAM         RATING";
  161. 1165  PRINT "-------------------  -------------------";
  162. 1170  POKE 34,5
  163. 1175  FOR A = 1 TO 28:Y(A) = E(A): NEXT A
  164. 1180  FOR J = 1 TO 28
  165. 1185  IF J = 15  THEN  VTAB 6
  166. 1190  IF J >14  THEN  HTAB 22
  167. 1195 M1 = 1
  168. 1210  FOR K = 1 TO 28
  169. 1220  IF Y(K) < = Y(M1)  THEN 1240
  170. 1230 M1 = K
  171. 1240  NEXT K
  172. 1250 Z1 = M1
  173. 1260  GOSUB 1740
  174. 1265 E(M1) =  INT(E(M1) *P +.5)/P
  175. 1270  IF X = 1  THEN  PRINT Y(M1): GOTO 1280
  176. 1275  PRINT E(M1)
  177. 1280 Y(M1) =  -1000
  178. 1290  NEXT J
  179. 1294  VTAB 24: PRINT "  << PRESS THE SPACE BAR TO CONTINUE >>";
  180. 1296 X =  PEEK( -16384): IF X <127  THEN 1296
  181. 1298  POKE  -16368,0
  182. 1320  REM  PRINT PREDICTIONS
  183. 1325 W = I +1
  184. 1328  TEXT : HOME 
  185. 1330  INVERSE : PRINT "  << PREDICTION FOR WEEK ";W;"  ";A2;" >>  ": NORMAL 
  186. 1335  PRINT "========================================"
  187. 1340  POKE 34,4
  188. 1345 Y = 0
  189. 1350  FOR J = 1 TO 28
  190. 1360  IF Y(J) = 1  THEN 1510
  191. 1370 M1 = J
  192. 1380 K =  ABS(M(J,W))
  193. 1390  IF M(J,W) <0  THEN 1420
  194. 1400 M1 = K
  195. 1410 K = J
  196. 1420 Z1 = M1
  197. 1430  GOSUB 1740
  198. 1440  PRINT "  AT  ";
  199. 1450 Z1 = K
  200. 1460  GOSUB 1740
  201. 1470 A1 = E(M1) -E(K) -F1
  202. 1475 A1 =  INT(A1 *P +.5)/P
  203. 1480 XX = 36: IF A1 =  >10  OR A1 < =  -1  THEN XX = XX -1
  204. 1481  IF A1 <1  AND A1 >0  THEN XX = XX +1
  205. 1482  IF A1 < =  -10  THEN XX = XX -1
  206. 1483  HTAB XX: PRINT A1
  207. 1490 Y(M1) = 1
  208. 1500 Y(K) = 1
  209. 1510  NEXT J
  210. 1520  VTAB 24: PRINT "  << PRESS THE SPACE BAR TO CONTINUE >>";
  211. 1525 X =  PEEK( -16384): IF X <127  THEN 1525
  212. 1530  POKE  -16368,0
  213. 1600  REM  STORE NEW RATINGS ON TAPE
  214. 1605  TEXT : HOME 
  215. 1610  VTAB 12: PRINT "INSERT THE DATA TAPE": PRINT "START IN RECORD MODE": PRINT "THEN PRESS RETURN ";: GET ST$
  216. 1615  STORE E: FOR A = 1 TO 1500: NEXT A: STORE E
  217. 1618  HOME : VTAB 12
  218. 1620  PRINT : INVERSE : PRINT "THE NEW RATINGS ARE STORED": NORMAL 
  219. 1625  FOR A = 1 TO 2000: NEXT A
  220. 1680  REM  RATING CHANGES
  221. 1682  RESTORE : FOR A = 1 TO 28: READ Y(A): NEXT A
  222. 1683  TEXT : HOME : INVERSE : HTAB 3: PRINT " << RATING CHANGES FOR SEASON >> ": NORMAL : PRINT "========================================"
  223. 1684  PRINT "TEAM         RATING  TEAM         RATING";
  224. 1685  PRINT "-------------------  -------------------";: POKE 34,5: FOR A = 1 TO 28
  225. 1686 G(A) =  INT((E(A) -Y(A)) *P +.5)/P: NEXT A
  226. 1687  FOR J = 1 TO 28
  227. 1688  IF J = 15  THEN  VTAB 6
  228. 1689  IF J >14  THEN  HTAB 22
  229. 1690 M1 = 1
  230. 1691  FOR K = 1 TO 28
  231. 1692  IF E(K) < = E(M1)  THEN 1694
  232. 1693 M1 = K
  233. 1694  NEXT K
  234. 1695 Z1 = M1
  235. 1696  GOSUB 1740: PRINT G(M1):E(M1) =  -1000: NEXT J
  236. 1700  END 
  237. 1740  REM  PRINT TEAM NAMES
  238. 1750  ON Z1 GOTO 1790,1810,1830,1850,1870,1890,1910,1930,1950,1970
  239. 1760  ON Z1 -10 GOTO 1990,2010,2030,2050,2070,2090,2110,2130,2150,2170
  240. 1770  ON Z1 -20 GOTO 2190,2210,2230,2250,2270,2290,2310,2330
  241. 1780  RETURN 
  242. 1790  PRINT "BALTIMORE    ";
  243. 1800  RETURN 
  244. 1810  PRINT "NEW ENGLAND  ";
  245. 1820  RETURN 
  246. 1830  PRINT "MIAMI        ";
  247. 1840  RETURN 
  248. 1850  PRINT "BUFFALO      ";
  249. 1860  RETURN 
  250. 1870  PRINT "N.Y. JETS    ";
  251. 1880  RETURN 
  252. 1890  PRINT "PITTSBURGH   ";
  253. 1900  RETURN 
  254. 1910  PRINT "HOUSTON      ";
  255. 1920  RETURN 
  256. 1930  PRINT "CLEVELAND    ";
  257. 1940  RETURN 
  258. 1950  PRINT "CINCINNATI   ";
  259. 1960  RETURN 
  260. 1970  PRINT "OAKLAND      ";
  261. 1980  RETURN 
  262. 1990  PRINT "DENVER       ";
  263. 2000  RETURN 
  264. 2010  PRINT "KANSAS CITY  ";
  265. 2020  RETURN 
  266. 2030  PRINT "SEATTLE      ";
  267. 2040  RETURN 
  268. 2050  PRINT "SAN DIEGO    ";
  269. 2060  RETURN 
  270. 2070  PRINT "N.Y. GIANTS  ";
  271. 2080  RETURN 
  272. 2090  PRINT "DALLAS       ";
  273. 2100  RETURN 
  274. 2110  PRINT "PHILADELPHIA ";
  275. 2120  RETURN 
  276. 2130  PRINT "ST.LOUIS     ";
  277. 2140  RETURN 
  278. 2150  PRINT "WASHINGTON   ";
  279. 2160  RETURN 
  280. 2170  PRINT "CHICAGO      ";
  281. 2180  RETURN 
  282. 2190  PRINT "GREEN BAY    ";
  283. 2200  RETURN 
  284. 2210  PRINT "DETROIT      ";
  285. 2220  RETURN 
  286. 2230  PRINT "MINNESOTA    ";
  287. 2240  RETURN 
  288. 2250  PRINT "TAMPA BAY    ";
  289. 2260  RETURN 
  290. 2270  PRINT "ATLANTA      ";
  291. 2280  RETURN 
  292. 2290  PRINT "NEW ORLEANS  ";
  293. 2300  RETURN 
  294. 2310  PRINT "LOS ANGELES  ";
  295. 2320  RETURN 
  296. 2330  PRINT "SAN FRANCISCO";
  297. 2340  RETURN